export function deepCopy(obj) {
  if (typeof obj !== 'object' || obj === null) {
    // 如果不是对象类型或者是null，直接返回
    return obj
  }
  // 创建一个新的对象或数组来存储拷贝后的数据
  var copy = Array.isArray(obj) ? [] : {}
  // 遍历原始对象的所有属性或数组的所有元素
  for (var key in obj) {
    // 检查属性是否是对象自身的属性（而不是继承的属性）
    if (Object.prototype.hasOwnProperty.call(obj, key)) {
      // 递归地进行深拷贝
      copy[key] = deepCopy(obj[key])
    }
  }
  return copy
}

//将文件解析成base64或buffer
export function fileParse(file, type = 'base64') {
  return new Promise((resolve) => {
    let fileRead = new FileReader()
    // 根据类型读取文件
    if (type === 'base64') {
      fileRead.readAsDataURL(file);
    } else if (type === 'buffer') {
      fileRead.readAsArrayBuffer(file);
    } else {
      reject(new Error('Unsupported type: ' + type));
      return;
    }
    // 读取完成的回调
    fileRead.onload = (ev) => {
      resolve(ev.target.result)
    }
    // 处理错误
    fileRead.onerror = (error) => {
      reject(error);
    }
  })
}